#ifndef __PLAYER_H__
#define __PLAYER_H__

#include "AudioDecode/RtAudio.h"
#include "boost/signals2.hpp"
#include "Filter.h"
#include "EQFilter.h"

class Player
{
private:
	RtAudio dac;
	RtAudio::StreamParameters parameters;
	Filter m_Filter;
	EQFilter m_eq;
public:
	Player();
	~Player();
	bool open(unsigned int channel, unsigned int sample_rate, unsigned int buffer_frames);
	void close();
	bool play();
	bool stop();
	void setData(const std::vector<float> data);
	void setEqArgs(unsigned int count, unsigned int freq, int gain);
	std::vector<float> filter(std::vector<float> &data);
	void setFilterArg(FILTERTYPE f_Type, PASSTYPE p_Type, unsigned int WindowSize, unsigned int LowFreq, unsigned int HighFreq, unsigned int SampleRate);
};

#endif